home *** CD-ROM | disk | FTP | other *** search
- FireWorx Crackme4
- -----------------
- Start the Crackme, choose REGISTER, enter your name, and a bogus serial, go
- into softice and set a breakpoint on Hmemcpy, got back to the crackme and
- press the OK button, press F5 and then press F11 to get out of the call,
- and then F10 until you come here:
-
- :00447B16 7C2F JL 00447B47
- :00447B18 47 INC EDI
- :00447B19 C745F800000000 MOV DWORD PTR [EBP-08],00000000
- :00447B20 8D55F4 LEA EDX,[EBP-0C]
- :00447B23 8B83D4020000 MOV EAX,[EBX+000002D4]
- :00447B29 E82ABDFDFF CALL 00423858
- :00447B2E 8B45F4 MOV EAX,[EBP-0C]
- :00447B31 8B55F8 MOV EDX,[EBP-08]
- :00447B34 0FB64410FF MOVZX EAX,BYTE PTR [EDX+EAX-01] ; pushes [i-1] to eax
- :00447B39 03F0 ADD ESI,EAX ; esi=esi+eax
- :00447B3B 03B314030000 ADD ESI,[EBX+00000314] ; esi=esi+0x2b67
- :00447B41 FF45F8 INC DWORD PTR [EBP-08]
- :00447B44 4F DEC EDI
- :00447B45 75D9 JNZ 00447C20
- :00447B47 8D55FC LEA EDX,[EBP-04]
-
- not a hard routine, here is a sample keygen source i C:
-
-
- //Keygen source by Klefz
- int main(){
- unsigned char name[500]={0};
- int length=0,i;
- long int sum=0;
-
- tryagain:
- length=0;
- clrscr();
- printf("FireWorx Crackme3 Keygen by Klefz\n");
- printf("Enter your name: ");
- gets(name);
-
- /* work out length (tnx prophecy ;) */
- while (name[length] != '\0'){ length++; } if(length==0){
- printf("\nYou must enter a name!"); getch();
- goto tryagain; }
-
- for(i=0;i<length;i++) sum+=name[i];
-
- for(i=-1;i<length;i++) sum+=0x2b67;
-
- printf("\nYour reigistration code is: %li",sum);
- return 0; }
-
- ---
- /Klefz - http://klefz.cjb.net